//package ai;
//
//import org.bytedeco.javacpp.Loader;
//import org.bytedeco.opencv.global.opencv_core;
//import org.bytedeco.opencv.global.opencv_imgcodecs;
//import org.bytedeco.opencv.global.opencv_imgproc;
//import org.bytedeco.opencv.opencv_core.Mat;
//
//public class OpenCVExample {
//
//    static {
//        // 预加载本地库
//        Loader.load(opencv_imgcodecs.class);
//    }
//
//    /**
//     * 图像处理管道：读取 -> 灰度化 -> Canny边缘检测
//     * @param inputPath  输入图片路径
//     * @param outputPath 输出图片路径
//     */
//    public static void processImage(String inputPath, String outputPath) {
//        // 读取图像
//        Mat image = opencv_imgcodecs.imread(inputPath);
//        if (image == null || image.empty()) {
//            throw new RuntimeException("无法读取图像: " + inputPath);
//        }
//
//        // 转换为灰度图
//        Mat grayImage = new Mat();
//        opencv_imgproc.cvtColor(image, grayImage, opencv_imgproc.COLOR_BGR2GRAY);
//
//        // Canny边缘检测
//        Mat edges = new Mat();
//        opencv_imgproc.Canny(grayImage, edges, 100, 200);
//
//        // 保存结果
//        opencv_imgcodecs.imwrite(outputPath, edges);
//
//        // 释放资源
//        image.close();
//        grayImage.close();
//        edges.close();
//    }
//
//    public static void main(String[] args) {
//        String input = "src/main/resources/input.jpg";
//        String output = "output_edges.jpg";
//        processImage(input, output);
//        System.out.println("处理完成，结果保存至: " + output);
//    }
//}